package entity

import "time"

// Permission 资源
type Permission struct {
	Id         int64     `gorm:"primaryKey;autoIncrement;comment:主键" json:"id"`                      // 主键
	Name       string    `gorm:"not null;comment:名称" json:"name"`                                    // 资源名称
	Code       string    `gorm:"not null;comment:编码" json:"code"`                                    // 资源编码
	Icon       string    `gorm:"comment:图标" json:"icon"`                                             // 图标
	Path       string    `gorm:"comment:路径" json:"path"`                                             // 路径
	Brief      string    `gorm:"comment:上级ID" json:"brief"`                                          // 描述
	ParentId   int64     `gorm:"default:0;not null;comment:主键" json:"parentId"`                      // 上级ID
	Level      int       `gorm:"default:1;not null;comment:层级" json:"level"`                         // 层级
	ResType    int       `gorm:"not null;comment:资源类型 1:目录 2:菜单 3:按钮" json:"resType"`                // 资源类型
	OrderNo    int       `gorm:"not null;default:1;comment:排序" json:"orderNo"`                       // 排序
	CreateId   int64     `gorm:"column:create_id;comment:创建人ID" json:"createId"`                     // 创建人ID
	CreateTime time.Time `gorm:"column:create_time;comment:创建时间" json:"createTime"`                  // 创建时间
	UpdateId   int64     `gorm:"column:update_id;comment:更新人ID" json:"updateId"`                     // 更新人ID
	UpdateTime time.Time `gorm:"column:update_time;comment:更新时间" json:"updateTime"`                  // 更新时间
	CanView    int       `gorm:"column:can_view;default:1;type:integer;comment:删除状态" json:"canView"` // 逻辑删除
}
